package cn.tedu.yang;

import javax.swing.*;
import java.awt.event.ActionListener;

public class Card extends JButton {
    public Card(String name){
        //设置了大小
        setSize(59, 66);
        //设置不绘制边框
        setBorderPainted(false);
        //设置不填充内容区域，按钮是透明的！
        setContentAreaFilled(false);
        //设置按钮上的图片
        setIcon(new ImageIcon("images/"+name+".png"));
        //设置禁用时候的灰色图片
        setDisabledIcon(new ImageIcon("images/"+name+"2.png"));
        //设置按钮的名字 name
        setName(name);
    }
    //重写toString方法
    @Override
   public String toString(){
        return getName();
    }

    /**
     * 判断当前牌是否盖上了另外一张牌
     * @param card 另外一张牌
     * @return  true表示盖上，false没有盖上
     */
    public boolean covered(Card card){
        int x1 = card.getX() - 59;
        int x2 = card.getX() + 59;
        int y1 = card.getY() - 66;
        int y2 = card.getY() + 66;
        return (getX() > x1 && getX() < x2) && ((getY() > y1 && getY() < y2));
    }

    /**
     *在集合中查找牌，先判断非空，然后返回是否是
     * @param other
     * @return
     */
    public boolean sameAs(Card other){
        String name = getName();
        if(name == null){
            return false;
        }
        return name.equals(other.getName());
    }

    /**
     * 卡牌去除点击事件监听
     */

    public  void removeActionListeners(){
        ActionListener[] actionListeners = getActionListeners();

        for (ActionListener l: actionListeners){
                removeActionListener(l);

        }
    }
}
